<template>
  <div class="app-container">
    <el-input v-model="filterText" placeholder="检索 关键字" style="margin-bottom:30px;" />

    <el-tree
      ref="tree2"
      :data="data2"
      :props="defaultProps"
      :filter-node-method="filterNode"
      class="filter-tree"
      default-expand-all
    />

  </div>
</template>

<script>
  
import subject from '@/api/edu/subject'

export default {

  data() {
    return {
        data2:[], // 要显示的 课程json数据

        filterText:'', 

        defaultProps:{
            children:'children',
            label:'title'
        }
    }
  },
  created(){
      // 在页面加载前调用
        this.getTree();
  },
  watch: {
    filterText(val) {
      this.$refs.tree2.filter(val)
    }
  },

  methods: {
    // 获取 课程列表树形结构 json数据
    getTree(){
        subject.getSubjectTree()
        .then(response => {
            // 将后台返回的 json 数据赋值给 当前 data2
            this.data2 = response.data.treeList;
        });
    },
    filterNode(value, data) {
      if (!value) return true
      // 使用 toLowerCase 统一转小写字符进行匹配
      return data.title.toLowerCase().indexOf(value.toLowerCase()) !== -1
    }
  }
}
</script>

